//    Copyright (C) Kherty.  All rights reserved.
namespace OpenLS.Chart.UI
{
    abstract class ChartLayout
    {
        public abstract int Count { get; }

        public abstract Bounds GetBounds(int index, int seriesIndex);
        public abstract Bounds GetBounds(NumericValue value, Series series, double floor);
        public virtual double GetValue(NumericValue value, Series series, double floor)
        {
            return GetBounds(value, series, floor).High;
        }


        public abstract double GetZ(int seriesIndex);

        internal abstract Bounds GetXBounds(Bounds xBounds, int seriesIndex, int seriesCount);
    }
}
